People increasingly are using mobile devices, such as cell phones, to input and send text-based communications to one another. For example, people write text messages, instant messages, and emails with these devices and use them as forms of inter-personal communication. Unfortunately, the input of text using hand-held and other mobile or personal devices is often hampered by the number of keys on a device's keypad. Keypads on a mobile device typically have fewer keys than the number of letters, punctuation symbols, and other characters that need to be entered by a user. As a result, various systems have been developed to simplify the entry of text with reduced keyboards. For example, disambiguation systems such as the T9 and XT9 systems by Nuance Communications, Inc., of Burlington, Mass., delimit text sequences received from reduced keyboards to match the received sequence (or partial sequence) with words having the same letter sequences. For example, when a user enters “7-2-6” a disambiguation system may present the words “ram” or “pan.”
While disambiguation systems work particularly well for the entry of text, users often use the keypads to enter information related to other applications. For example, users may use the keypad to enter messages, such as messages transmitted under the Unstructured Supplementary Service Data (USSD) protocol, a standard for transmitting information over GSM channels. Normally, USSD messages are used as triggers to invoke independent calling services, such as services that receive queries for information. For example, upon receiving input from a user, a mobile device may transmit a USSD message to retrieve an account balance, a stock quote, a sports score, current weather information, and so on. A server receiving the message may then respond with a menu of user-selectable choices. For example, a user may send a USSD message to query for weather information, and receive a message that causes the user's mobile device to display a menu of different cities. The user can then select a city and receive weather information about that city. USSD is often used in such cases because response times are faster and messages may be longer compared to other messaging protocols (such as SMS).
The entry of USSD codes to send USSD messages, however, can often be tedious and time consuming for a user, in part because of how USSD codes are structured. USSD codes generally take on the form of *999*9999*999*#, with a “*” as a separator and a “#” to signify the end of a message. For example, the user requesting weather information may be required to enter *150*1234*12# or another similar string of numbers. These number strings are not memorable and often cannot be entered quickly. Additionally, despite the current use of USSD to transmit and receive information, a user may not be aware of services supported by USSD or their associated number string.
Also, access to USSD based applications, such as applications that receive messages (such as the number string described above) over a network and push information (such as the menu described above) to a mobile device, are inconvenient or difficult to access with a typical mobile device. For example, typical mobile devices require users to transmit USSD messages via a SIM toolkit, a text window, or a USSD dialer.
These and other problems exist with respect to utilizing USSD in mobile devices and other devices, such as devices with reduced keyboards.